package cn.xenosp.server.module.activiti.entity;

import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.catalina.security.SecurityUtil;
import org.apache.commons.lang3.StringUtils;

import java.util.Date;

/**
 * 项目名： service-web
 * 包路径： cn.xenosp.server.module.activiti.entity
 * 作者：   TongHui
 * 创建时间: 2025-03-12 17:35
 * 描述: 流程设计返回参数
 * 版本: 1.0
 */
@Data
public class ModelerVO {

    /**
     * 设计页面中使用的字段为 modelId
     */
    private String modelId;

    /**
     *名称
     */
    private String name;

    /**
     *创建时间
     */
    private Date createTime;

    /**
     *模型描述
     */
    private String description;

    /**
     *以json格式保存流程定义的信息,数据源信息
     */
    private String metaInfo;

    /**
     *流程设计 json 信息
     */
    private JSONObject model;

    // 以下两个字段对应 /editor-app/stencil-controller.js
    // if (canvasSelected) {
    //     selectedItem.auditData = {
    //         'author': $scope.modelData.createdByUser,
    //         'createDate': $scope.modelData.createDate
    //     };
    // }

    /**
     *流程设计页面创建人字段
     */
    private String createdByUser;

    /**
     *流程设计页面创建时间字段
     */
    private Date createDate;

    // 重写方法
    public String getDescription() {
        if (StringUtils.isNotEmpty(metaInfo)) {
            // 获取 metaInfo 中的 description 信息
            return JSONObject.parseObject(metaInfo).getString("description");
        }
        return description;
    }

    public Date getCreateDate() {
        return createTime;
    }
}
